home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / util / misc / hcmenu.lha / HCMenu / Doc / Nederlands / HCMenu.Doc next >
Text File  |  1997-10-14  |  18KB  |  409 lines

  1. Onderwerp:    Haute-Cuisine Menu V1.8
  2. Door:        E. Th. van den Oosterkamp.
  3. AssembleDate:    10-Apr-95
  4. SysteemEisen:    Geen. Menu houdt rekening met KickStart versies.
  5.  
  6.  
  7.  
  8. Introductie.
  9. ============
  10.  
  11. Het HCMenu is een interactief menu, dat vooral bedoeld is om programma's
  12. snel en gemakkelijk op te kunnen starten. Ik gebruik dit menu sinds oktober
  13. 1992 en sindsdien is er erg veel verbeterd (zeg ik zelf).
  14. Ik gebruik dit menu omdat ik de Workbench van Commodore niet kan waarderen.
  15. Nu onder versie 2.0 is hij erg vooruit gegaan, maar ik vind een menu nog
  16. steeds stukken handiger (zeg ik alweer zelf).
  17. Nu ken ik mensen die zweren bij een keymap (jeweetwel F1 - ASM-ONE, F2 -
  18. DeluxePaint , F3 - ....) maar daarvoor kocht ik geen Amiga (NOT!).
  19. Ondanks de systeem eisen is het menu eerder ontworpen voor KS2.0 (en hoger).
  20. Ik ondersteun de lagere Kickstarts alleen maar zodat disks waar iemand het
  21. HCMenu op heeft geinstalleerd ook bij die gebruikers werken met een oude KS.
  22. Een aantal (minder belangrijke) functies zullen onder KS1.3/1.2 niet werken.
  23.  
  24.  
  25.  
  26. Beschrijving.
  27. =============
  28.  
  29. Het HCMenu gebruikt een zgn "menufile". Dit is niets anders dan een
  30. tekstfiletje waarin de namen van de gebruikte items staan en dan sequences
  31. van verschillende commando's behorende bij dat item. Het is ook mogelijk
  32. om vanuit een menu een volgend menu op te roepen. Een soort van submenu dus
  33. maar de gehele hiearchie is zelf te bepalen, dus je zou ook een menu
  34. "omhoog" kunnen gaan.
  35. Het menu kent ook een soort snapshot functie. Allerlei handige zaken
  36. (coordinaten, startmenu, indeling)  worden weggeschreven in een (binaire)
  37. file. Bij het opstarten wordt deze ingeladen en het menu juist ingesteld.
  38.  
  39.  
  40.  
  41. De Menu-File.
  42. =============
  43.  
  44. Omdat het menu in eerste instantie alleen voor eigen gebruik was bedoeld, heb
  45. ik geen scripttaal ontworpen, maar steekt een menufile simpel in elkaar
  46. (zoals ikzelf...). Natuurlijk verkleint hierdoor de controleerbaarheid voor
  47. mijn menu, maar een menufile is nu niet groter dan nodig.
  48.  
  49. Om het maar in een keer te zeggen: Eerst komen regel voor regel alle
  50. itemnamen in de file. Deze namen komen gecentreerd in het item te staan,
  51. zodat de gebruiker weet wat het item zal gaan doen (mits logische namen
  52. gekozen.....) Dan komt op een regel het procent (%) teken. Dit betenkend
  53. niets meer dan: "einde namen, begin commando's". Hierna komen IN DEZELFDE
  54. VOLGORDE!! de opdrachten die bij de items horen. 
  55.  
  56. Een voorbeeldje:
  57.  
  58. ----------------------------------------------------------------------------
  59. ToolMenu
  60. ASM-One
  61. DPaint
  62. DirOpus
  63.  
  64. GamesMenu
  65. Niets
  66. MenuEdit
  67. %
  68. @dh1:tools/tool.menu
  69. dh1:assembler/asm-one
  70. run dh1:grafiek/dpaint ;cd dh1:iff
  71. dh1:tools/diropus
  72. @dh1:games/games.menu
  73.  
  74. run ed s:main.menu
  75. ----------------------------------------------------------------------------
  76.  
  77. Nu is staan er in het bovenstaande voorbeeldje enkele speciale karakters. Ik
  78. bedoel de "@" en de ";". De ";" werkt als een "command-separator" oftwel een
  79. commando scheider. Zo kun je met een item (na elkaar) verschillende
  80. opdrachten geven, zoals in dit geval het opzoeken van een directory.
  81. Het karakter "@" betekent dat er een submenu dient te worden nageladen, en
  82. de filenaam van het menu volgt direct op het apestaartje. Het gebruik van
  83. een command seperator heeft hier natuurlijk geen zin.
  84.  
  85. Het is mogelijk om een item leeg te houden. Dan moet gewoon de regel van
  86. de itemnaam worden leeg gehouden. Bij de uit te voeren commando's hoeft
  87. hier geen rekening mee te worden gehouden. Er hoeft voor dit niet gebruikte
  88. item geen lege ruimte te worden aangebracht. Let er wel op dat de lege
  89. regel echt leeg is en er geen verloren spatie of tab staat.
  90.  
  91. Ook kan in een item een tekst worden geplaats zonder dat het item enige
  92. functie heeft. Zet in dit geval (zoals bij het "Niets" item) een lege
  93. regel bij de opdrachten. Ook hier oppassen voor spaties en tabs.
  94.  
  95. Enkele regels voor de Menufile:
  96.  
  97. - Altijd maar een ding op een regel. item-naam/zoekpad/commando's etc.
  98. - Een spatie voor of na een itemnaam zorgt ervoor dat deze niet mooi wordt
  99.   gecentreerd omdat de spatie gewoon als deel van de naam meedoet. Alles wat
  100.   op die regel staat wordt de itemnaam. Zorg zelf dat de naam ook werkelijk
  101.   in het item past.
  102. - Zoekpaden, commando's en speciale tekens MOETEN op de 1e plaats van een
  103.   regel staan (behalve ";" natuurlijk). Dit geldt ook voor de zoekpaden en
  104.   namen van de op te starten commando's.
  105.  
  106. NB:    Mocht dit bovenstaande toch te lastig zijn, dan verwijs ik naar de
  107.     HCMenuEditor, een programma dat bedoeld is om interactief een menu
  108.     samen te stellen. Helaas heeft de gebruiker dan wel KS2.0 of een
  109.     hogere versie van het besturingssysteem nodig.
  110.  
  111.  
  112.  
  113. Menu functies.
  114. ==============
  115.  
  116. Het klink waarschijnlijk erg raar, maar het menu heeft een menu. Ik doel
  117. hierbij op een menubalk bovenaan het scherm. Ik ga nu een voor een de
  118. menuitems langs in de volgorde zoals ze staan.
  119.  
  120. het project menu.
  121.  
  122. - Open Menu    - Opent een ReqTools filerequester waarmee de gelukkige
  123.           gebruiker een menufile kan selecteren.
  124. - Edit Menu    - Door deze optie te selecteren zal het menu de editor op-
  125.           starten met de actuele menufile. Met de optie "Prefs"
  126.           uit het Prefs menu kan de editor worden ingesteld.
  127.           Default is "Ed".
  128. - NewShell    - Opent een shell window.
  129. - Load Snapshot    - Inladen van eerder gemaakte instellingen. Er zijn drie
  130.           mogenlijkheden: General, Local en Default. De laatste
  131.           zal de standaard instellingen activeren. Met "Local"
  132.           en "General" zijn gebruikers instellingen te activeren.
  133.           Hierover meer in de volgende paragraaf.
  134. - Save Snapshot - Het Opslaan van instellingen. Hier zijn maar twee mogelijk-
  135.           heden nl "General" en "Local". Voor een uitgebreidere
  136.           uitleg: zie volgende paragraaf.
  137. - About        - Informatie over het programma, de copyrights e.d.
  138. - Quit        - Het menu sluit en al het geheugen zal worden vrijgegeven.
  139.           Dit kan ook met het close gadget.
  140.  
  141. het prefs menu.
  142.  
  143. - NoClick    - Deze functie kan alleen onder Kickstart2.0 of hoger
  144.           worden geselecteerd. Hij schakelt het klikken van alle
  145.           drives aan/uit. Dit vertraagt wel het "happen" van een
  146.           nieuwe diskette maar daar leef ik liever mee dan dat
  147.           ergerlijke geklepper.
  148. - '*'=WildCard    - Ook deze functie werkt alleen onder kickstart2.0 en
  149.           hoger. Bij het gebruik van Shell of CLI (en ook bij
  150.           sommige filerequesters) kan de gebruiker jokers gebruiken
  151.           voor het specificeren van bepaalde files in een directory.
  152.           Normaalgesproken wordt bijvoorbeeld "#?.info" gebruikt om
  153.           alle files eindigend op ".info" te specificeren.
  154.           Met deze optie kan de gebruiker "#?" vervangen voor het
  155.           sterretje ("*") zoals dit in de MS-DOS wereld gebruikelijk
  156.           is. Deze optie geldt voor de GEHELE computer, en niet
  157.           alleen voor het HCMenu.
  158. - Border    - Dit is een kwestie van smaak. Wilt u een 3D-look
  159.           vierkantje rond de items of liever niet? Bij sommige
  160.           kleurinstellingen (WB 2.0) prachtig, bij andere minder.
  161.           De "lichtval" komt altijd van linksboven. Hoe de kleuren
  162.           ook gekozen worden.
  163. - Warnings    - Wanneer deze optie niet is afgevinkt worden de ver-
  164.           schillende waarschuwingen van het HCMenu onderdrukt. Deze
  165.           waarschuwingen verschijnen altijd als requester. Een
  166.           voorbeeld van een waarschuwing is het "Are you sure?"
  167.           requester bij het schrijven van de general snapshot.
  168. - Blanker    - Het in of uitgeschakeld zijn van de screenblanker. Wanneer
  169.           er geen filenaam is gekozen in het "Prefs" window, dan
  170.           wordt automatisch de interne screenblanker gebruikt.
  171. - SelectBar    - De selectbar is een balk die met de cursortoetsen kan
  172.           worden bediend. Met de balk is een bepaald item te
  173.           selecteren. Met <enter> wordt het geselecteerde item
  174.           geactiveerd. Eventuele "invisible" items oefenen in-
  175.           vloed uit op de selectorbalk!
  176. - Alt + Esc    - Door een druk op een van beide <Alt> toetsen samen met de
  177.           <Esc> toets, activeert het menu. Tijdens de activering
  178.           zal het window bovenop komen te liggen, en zal de work-
  179.           bench naar voren komen.
  180. - WinBarInfo    - In de schermbalk wordt de tijd weergegeven samen met wat
  181.           informatie over de hoeveelheid vrij geheugen. Met deze
  182.           optie kan worden gekozen of deze informatie ook in de
  183.           WindowBalk moet worden getoond of niet.
  184. - Local Snap    - Met deze instelling kan worden gekozen of het HCMenu ook
  185.           gebruik moet maken van locale instellingen. Als deze
  186.           functie niet is afgevinkt wordt alleen de general snap
  187.           gebruikt. Meer hierover in de volgende paragraaf.
  188. - DoubleClick    - Met deze optie kan de gebruiker instellen of het menu op
  189.           dubbelklik moet reageren of ook op een enkeleklik.
  190. - Colors    - In dit menu drie verschillende vooringestelde kleuren.
  191.           Een bevat de WorkBench 1.3 kleuren. De tweede de WB 2.0
  192.           kleuren. En de derde is makkelijk voor het maken van
  193.           hardcopys van het scherm (alles grijstinten met een witte
  194.           achtergrond).
  195.           De vierde optie in dit menu reset de kleuren zoals ze
  196.           waren tijdens het opstarten. Dit komt soms van pas omdat
  197.           zommige programma's ongevraagt de kleuren verschnjieren
  198.           en zo de "schade" kan worden hersteld.
  199.           Deze opties reageren alleen voor de eerste vier kleuren!
  200. - Prefs        - Roep het instellingen window op. Hiermee zijn het aantal
  201.           items per regel te selecteren en de gewenste breedte
  202.           van het window. Minimale breedte is 67, de maximale ligt
  203.           aan de scherm resolutie.
  204.           Omdat het oog ook wat wil is het voor de items gebruikte
  205.           font te selecteren. Wanneer u beschikt over de al eerder
  206.           genoemde ReqTools.library zelfs via een font-requester.
  207.           In dit window wordt ook de screenblanker ingesteld (zie
  208.           onder). De tijd is instelbaar tussen 1 en 9 minuten. In
  209.           het geval van een eigen "effect" kan er een file en
  210.           padnaam worden ingesteld. Worden deze foutief ingevoerd,
  211.           dan meldt het menu dit na selectie van "Okay".
  212.           Als laatste optie is er de naam van het Log-file. Hierin
  213.           worden de door het menu ondernomen acties bewaard. Een
  214.           voorbeeld is RAM:Menu.Log.
  215.  
  216.  
  217.  
  218. De verschillende SnapShot's
  219. ===========================
  220.  
  221. Zoals in de vorige paragraaf al duidelijk werd gebruikt het menu twee
  222. manieren om instellingen op te slaan.
  223. De eerste manier is de "General" of ook "algemene" snapshot. Hier bestaat
  224. er maar een van, en deze geldt voor alle menu's. Algemene instellingen over
  225. de screenblanker en de gewenste editor e.d. worden hier opgeslagen.
  226. Wanneer de functie "Local Snap" in het prefs-menu is geselecteerd is er
  227. ook een tweede manier.
  228. De tweede manier is de "Local" snapshot, oftewel de plaatselijke snap-
  229. shot. Hiervan kunnen er evenveel zijn als dat er menu's zijn en bevatten
  230. instellingen voor een specifiek menu. Hierdoor zijn instellingen als het
  231. aantal items per regel en windowposities per menu anders in te stellen.
  232. Mocht er voor een menu geen plaatselijke snapshot bestaan, dan wordt de 
  233. informatie gewoon uit de "General" snapshot gehaald.
  234. Mocht deze ook niet bestaan dan komt de informatie uit de "Default".
  235.  
  236.  
  237. De "General" Snapshot.
  238. ----------------------
  239.  
  240. De algemene snapshot wordt in de ENVARC: directory opgeslagen. Dit is de
  241. standaard directory van kickstart 2.0 (en hoger). De gebruiker van kick 1.3
  242. moet dus met een Assign in de StartUp-Sequence zorgen dat ENVARC: bestaat.
  243. Het filetje heet "HCMenu.prefs" en is een binaire file (pruts hier dus
  244. NOOIT in met een tekst editor o.i.d.!!!). Wanneer de file niet wordt gevonden
  245. gebruikt het menu de defaults. Op het ogenblik, zijn dat:
  246.  
  247. Menu:        S:Main.Menu
  248. Items:        1 per regel.
  249. Breedte:    128 pixels.
  250. x/y coord:    x = 0 en y = 11.
  251. Zip coord:    x = 0 en y = 0.
  252. Prefs:        Drives stil    aan
  253.         '*'=WildCard    uit
  254.         Borders        aan
  255.         Warnings     aan
  256.         ScreenBlanker     uit
  257.         SelectorBar     aan
  258.         Alt+Escape    aan
  259.         WinBalkInfo     uit
  260.         Local Snap    uit
  261.         DoubleClick     uit
  262. BlankTijd:    5 minuten.
  263. BlankFile:    (geen).
  264. LogFile:    (geen).
  265. Editor:        Ed
  266. FontNaam:    Topaz
  267. Fonthoogte:    8
  268. SubMenuKleur:    1
  269. ItemKleur:    1
  270.  
  271. Nu is ook weergegeven wat er allemaal wordt bewaard in de snapshot
  272. file. De snapshot file wordt d.m.v. van een checksum beveiligd. Wanneer
  273. deze checksum niet klopt zal er een requester verschijnen. Door te kiezen
  274. voor de defaults speel je op safe.
  275. Helaas kunnen op die manier de favoriete instellingen verloren gaan. Door
  276. toch de ingeladen instellingen te gebruiken kan de computer vastlopen.
  277. Meestal gebeurt dit niet en kan de snapshot opniew worden weggeschreven
  278. (Checksum wordt weer opnieuw berekend!).
  279.  
  280.  
  281. De "Local" SnapShot
  282. -------------------
  283.  
  284. De plaatselijke snapshot van een menu wordt altijd in dezelfde directory
  285. geschreven als het menu staat. De snapshot draagt ook dezelfde naam, maar
  286. is aangevuld met de extensie ".snap".
  287. Ook deze file is binair, doch niet beveiligd middels een checksum.
  288. De volgende instellingen worden opgeslagen: De menuposities, de menu-
  289. afmetingen, het aantal items per regel en de kleurnummers van de items
  290. en de submenu's.
  291.  
  292.  
  293.  
  294. ScreenBlanker.
  295. ==============
  296.  
  297. Ik had het er zojuist al over. Een screenblanker is een programma dat de
  298. invoer van de gebruiker bekijkt. Is er na de ingestelde tijd nog geen
  299. invoer geweest, dan wordt het scherm zwart, of er komt een of ander effect.
  300. Dit omdat een tekst als deze in het scherm inbrandt als het een lange tijd
  301. zonder te bewegen op het scherm staat. Door het scherm zwart te maken wordt
  302. inbranden voorkomen en gaat de monitor stukken langer mee. (...)
  303. De screenblanker van het menu "kijkt" naar de muis en naar het toetsenbord.
  304. Om de gebruiker niet te laten schrikken toont de blanker een bewegend
  305. blauw balkje (blauw is te zwak om in te branden). Door de invoer te
  306. hervatten (muis of toetsen) zal het normale scherm terug komen.
  307. Voor de programmeurs onder de gebruikers is het mogelijk om zelf een effect
  308. te programmeren. Zodra er namelijk een filenaam achter "effect" wordt
  309. ingetikt zal het menu deze file inladen en als de tijd daar is opstarten
  310. ipv zelf het scherm zwart te maken. Om de filenaam te verwijderen en zo de
  311. interne blanker terug te krijgen kan het makkelijkst op de filenaam worden
  312. geklikt (cursor verschijnt er) en dan RechterAmiga-X ingetoets worden.
  313.  
  314. Richtlijnen voor een zelfgemaakt effect:
  315.  
  316.     - Bij opstarten moet het effect meteen beginnen.
  317.     - Probeer het effect ook bij hervatte invoer te laten verdwijnen.
  318.         Een simpele muisdruk is echt niet voldoende.
  319.     - Laat andere tasks ook wat processortijd.
  320.     - De code *MOET* re-intrant zijn. (Tijdens het opstarten wordt de
  321.       externe blanker al ingeladen en later herhaald opgestart).
  322.       WAARSCHUWING: gecrunchde code is dat *niet*.
  323.  
  324. De instelbare tijd wordt steeds exacter naarmate deze groter wordt. Het
  325. menu controleert alleen op minuten: tussen 12:10:55 en 12:11:01 zit voor
  326. het menu precies een minuut. (Het komt ook niet zo nauw met de tijd).
  327. De externe blanker wordt ingeladen m.b.v. LOADSEG. Wordt de externe blanker
  328. niet gevonden, dan wordt de interne gebruikt.
  329. Iedere keer dat de blanker nodig is, wordt deze met CREATEPROC opgestart.
  330. Wanneer een andere blanker wordt gekozen, of de blanker wordt uitgeschakeld
  331. dan wordt alle geheugen met UNLOADSEG vrijgegeven.
  332.  
  333.  
  334.  
  335. History.
  336. ========
  337.  
  338. Hier nog even de geschiedenis van het menu in vogelvlucht. Zo is ook een
  339. korte impressie te krijgen van wat er zoal aan is verspijkerd in de tijd.
  340.  
  341. Nieuw im 1.8:
  342.     -    Twee verschillende snapshots: General en Local.
  343.     -    Borders rond gadgets in prefs window.
  344.     -    WildStar+DoubleClick+WinBarInfo in PrefsMenu.
  345.  
  346. 1.7    -    Font instelbaar. KS2.0 Zoomgadget ipv sleepGadGet.
  347. 1.6    -    SelecteerBalk. Alt+Escape. KS3.0 compatible kleurreset.
  348. 1.5    -    Het prefsmenu is geboren. General snapshot. ScreenBlanker.
  349. 1.4    -    Menu ligt beheerst boven. Code erg geoptimaliseerd.
  350. 1.3    -    Aanpassingen voor KS2.0. Gebruik van shell ipv de CLI.
  351. 1.2    -    SubMenus. Kleur resetten.
  352. 1.1    -    CLI-detach routine. Lightbron van linksboven voor de items.
  353. 1.0    -    6 Gadgets in een rij in een 640 pixels window.
  354.  
  355.  
  356. DankWoord.
  357. ==========
  358.  
  359. Hierbij wil ik M. de Reuver danken voor het melden van bugs en verbeteringen
  360. voor het HCMenu. Door zijn opmerkingen was het voor mij mogelijk om het
  361. menu op sommige plaatsen gebruikersvriendelijker te maken.
  362. Ook dank ik de heer M. van Aalten voor enkele ideen over hoe een menu
  363. zou moeten werken.
  364. Enkele aanwijzingen van de heer M. Blomsma sneden ook hout en ik dank hem
  365. dan ook voor zijn wijze woorden...
  366. Verder zou ik vanaf deze plaats de mensen willen bedanken die meegewerkt
  367. hebben aan de ontwikkeling van de tools MungWall en Enforcer. Dankzij deze
  368. twee debugging tools zijjn er een aantal vuiligheidjes verdwenen waardoor
  369. het HCMenu een stabiele aplicatie is geworden.
  370.  
  371.  
  372.  
  373.  
  374. Blablabla.
  375. ==========
  376.  
  377. Alle menu versies zijn "CardWare" wat betekend dat iedereen het recht
  378. heeft om ze te kopieren en te gebruiken. Er zijn alleen enkele voorbe-
  379. houden aan verbonden:
  380.  
  381.     - Er mag geen geld worden verdient aan het kopieren. Een klein
  382.       bedrag voor de gebruikte media mag wel worden verlangt.
  383.     - Deze tekst moet het HCMenu begeleiden en zowel deze tekst als
  384.       het HCMenu dienen onveranderd te blijven.
  385.     - U (als diegene die deze kopie gebruikt) zendt mij een kaartje
  386.       om me te vertellen dat u deze software gebruikt...
  387.  
  388. De copyrights blijven in de handen van de auteur. Verder wijs ik alle aan-
  389. sprakelijkheid voor deze software van de hand en ben ik niet aansprakelijk
  390. voor welke schade dan ook die door mijn software zou kunnen zijn
  391. veroorzaakt zowel direct als indirect.
  392.  
  393. Om een nieuwe versie via E-Mail toegestuurd te krijgen hoeft u alleen
  394. een E-Mailtje aan mij te sturen. Zet er wel het versie nummer van de
  395. door u gebruikte HCMenu bij.
  396.  
  397. Voor bugs, ideeen, vragen o.i.d.ben ik op onderstaand adres te bereiken...
  398.  
  399.             E-Mail:    eto@icns.nl
  400.             WWW:    http://www.icns.nl/users/eto
  401.  
  402.             ing. E. Th. van den Oosterkamp
  403.             Vijverstraat 11
  404.             4103 XX Culemborg
  405.             Nederland.
  406.  
  407.  
  408. Dank voor de intresse enzo......ETO, the Unpredictable of CCCP.
  409.